﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Manso.cBot.Common
{
    /// <summary>
    /// You must implement a module class to group your commands
    /// </summary>
    public interface IModule
    {
        /// <summary>
        /// Name of the module
        /// </summary>
        String Name { get; }
        /// <summary>
        /// Version of the module
        /// </summary>
        String Version { get; }
        /// <summary>
        /// Author of the module
        /// </summary>
        String Author { get; }
        /// <summary>
        /// Description of the module
        /// </summary>
        String Description { get; }
        /// <summary>
        /// Collection of commands
        /// </summary>
        IEnumerable<ICommand> Commands { get; }

        /// <summary>
        /// You may implement this method for initialization stuff
        /// </summary>
        /// <returns>False if there are any problem</returns>
        bool Load();

        /// <summary>
        /// Yoy may implement this method por close stuff
        /// </summary>
        void Unload();
    }
}
